package api

type Tp1003CallBackReq struct {
	BizFlow      string `json:"bizFlow"`
	BuyAmount    string `json:"buyAmount"`
	BuyCurrency  string `json:"buyCurrency"`
	Code         string `json:"code"`
	Message      string `json:"message"`
	QuoteId      int64  `json:"quoteId"`
	Rate         string `json:"rate"`
	SellAmount   string `json:"sellAmount"`
	SellCurrency string `json:"sellCurrency"`
}
type Tp1005CallBackReq struct {
	AccountType    string  `json:"accountType"`
	ArriveAmount   string  `json:"arriveAmount"`
	ArriveCurrency string  `json:"arriveCurrency"`
	BizFlow        string  `json:"bizFlow"`
	CountryCode    string  `json:"countryCode"`
	DebitAmount    string  `json:"debitAmount"`
	DebitCurrency  string  `json:"debitCurrency"`
	FeeAmt         float64 `json:"feeAmt"`
	FeeCurrency    string  `json:"feeCurrency"`
	MerOrderNo     string  `json:"merOrderNo"`
	PayType        string  `json:"payType"`
	QuoteId        int64   `json:"quoteId"`
	Rate           string  `json:"rate"`
	Status         string  `json:"status"`
	Code           string  `json:"code"`
	Message        string  `json:"message"`
	FixBizFlow     string  `json:"fixBizFlow"`
}

type Tp2001CallBackReq struct {
	Amount         float64     `json:"amount"`
	BizFlowNo      string      `json:"bizFlowNo"`
	DebitAmount    float64     `json:"debitAmount"`
	DebitCurrency  string      `json:"debitCurrency"`
	FaultCount     int         `json:"faultCount"`
	MerOrderNo     string      `json:"merOrderNo"`
	PayeeList      []PayeeList `json:"payeeList"`
	Rate           float64     `json:"rate"`
	SettlementType string      `json:"settlementType"`
	SuccessCount   int         `json:"successCount"`
}

type PayeeList struct {
	Amount      float64 `json:"amount"`
	ApplyNo     string  `json:"applyNo"`
	DebitAmount float64 `json:"debitAmount"`
	MerSingleNo string  `json:"merSingleNo"`
	RespCode    string  `json:"respCode"`
	RespDesc    string  `json:"respDesc"`
	Status      string  `json:"status"`
}

type VAInfoCallBackReq struct {
	MerOrderNo  string `json:"merOrderNo"`
	BizFlow     string `json:"bizFlow"`
	AccountName string `json:"accountName"`
	AccountNo   string `json:"accountNo"`
	CodeValue   string `json:"codeValue"`
	CodeName    string `json:"codeName"`
	BankName    string `json:"bankName"`
	BankAddress string `json:"bankAddress"`
	Area        string `json:"area"`
	BankCode    string `json:"bankCode"`
	BranchCode  string `json:"branchCode"`
	Currency    string `json:"currency"`
	Status      string `json:"status"`
	Remark      string `json:"remark"`
}

type Tp2007CallBackReq struct {
	FlowNo              string  `json:"flowNo"`              //  到账流水号
	ReceiveAmount       float64 `json:"receiveAmount"`       //  到账金额
	ReceiveCurrency     string  `json:"receiveCurrency"`     //  到账币种
	VaAccount           string  `json:"vaAccount"`           //  入账va账户号
	SenderName          string  `json:"senderName"`          //  付款方名称
	SenderAccount       string  `json:"senderAccount"`       //  付款方账号
	ReceiveTime         string  `json:"receiveTime"`         //  入账时间
	FeeAmount           float64 `json:"feeAmount"`           //  手续费金额
	FeeCurrency         string  `json:"feeCurrency"`         //  手续费币种
	ActualReceiveAmount float64 `json:"actualReceiveAmount"` //  实际入账金额
	AvailableFlag       string  `json:"availableFlag"`       //  金额是否可用 0:不可用 1:可用
	ReceiveType         string  `json:"receiveType"`         //  交易类型 s:平台电商 d:独立站电商 t:线下一般货贸 f:服务贸易
	TradeComments       string  `json:"tradeComments"`       //  汇款附言
}

type Tp1012CallBackReq struct {
	ContractNo string `json:"contractNo"`
	MerOrderNo string `json:"merOrderNo"`
	Message    string `json:"message"`
	Status     string `json:"status"`
}
type Tp2009CallBackReq struct {
	Amount      float64 `json:"amount"`
	ApproveTime int64   `json:"approveTime"`
	BizFlow     string  `json:"bizFlow"`
	ContactNo   string  `json:"contactNo"`
	FlowNo      string  `json:"flowNo"`
	Currency    string  `json:"currency"`
	FeeAmt      float64 `json:"feeAmt"`
	FeeCurty    string  `json:"feeCurty"`
	MerchantNo  string  `json:"merchantNo"`
	Message     string  `json:"message"`
	Status      string  `json:"status"`
}

// 商户入网回调入参
type MerVACallBackReq struct {
	BizFlow       string `json:"bizFlow"`
	MerOrderNo    string `json:"merOrderNo"`
	Code          string `json:"code"`
	Message       string `json:"message"`
	MerchantNo    string `json:"merchantNo"`
	MerNameEn     string `json:"merNameEn"`
	AuthorizeCode string `json:"authorizeCode"`
	Status        string `json:"status"`
}

type TokenReq struct {
	AuthorizeCode string `json:"authorizeCode"`
}

type TokenRes struct {
	TokenHead HeadStr      `json:"head"`
	TokenBody TokenBodyStr `json:"body"`
}

type TokenBodyStr struct {
	AccessToken string `json:"accessToken"`
}

type MerChantTempReq struct {
	//Account string `json:"account"`
	ReqJson   string `json:"reqJson"`
	ReqBackup string `json:"reqBackup"`
}
